layui.config({
    base: '/static/js/layui/lay/modules/',
}).extend({
    authtree: 'authtree',
});

layui.use(['jquery', 'authtree', 'form'], function(){
    var $ = layui.jquery;
    var authtree = layui.authtree;
    var form = layui.form;

    //ajax获取所有权限
    $.ajax({
        url: '/admin/get_auth_list',
        method:'get',
        dataType: 'json',
        success: function(data){
            // 渲染时传入渲染目标ID，树形结构数据（具体结构看样例，checked表示默认选中），以及input表单的名字
            // authtree.render('#LAY-auth-tree-index', data.data.trees, 'authids[]', 'lay-check-auth');
            authtree.render('#LAY-auth-tree-index', data.data.trees, {inputname: 'authids[]', layfilter: 'lay-check-auth', openall: true});

            // 监听自定义lay-filter选中状态，PS:layui现在不支持多次监听，所以扩展里边只能改变触发逻辑，然后引起了事件冒泡延迟的BUG，要是谁有好的建议可以反馈我
            form.on('checkbox(lay-check-auth)', function(data){
                // 注意这里：需要等待事件冒泡完成，不然获取叶子节点不准确。
                setTimeout(function(){
                    // 获取选中的叶子节点
                    var leaf = authtree.getLeaf('#LAY-auth-tree-index');
                    console.log(leaf);
                }, 100);
            });
        }
    });


    //监听提交
    form.on('submit(*)', function(data){
        $.ajax({
            url: '/admin/role_add',
            method:'post',
            data:data.field,
            dataType: 'json',
            success: function(result){
                if(result.code == 200)
                {
                    //关闭当前iframe页面
                    var index = parent.layer.getFrameIndex(window.name);
                    parent.layer.close(index);
                    //刷新父页面的ID为user的table
                    parent.layui.table.reload('user');
                    parent.layer.msg(result.msg,{icon:1});
                }else{
                    var index = parent.layer.getFrameIndex(window.name);
                    parent.layer.close(index);
                    //刷新父页面的ID为user的table
                    parent.layui.table.reload('user');
                    parent.layer.msg(result.msg,{icon:2});
                }
            }
        });
        return false;
    });



});